Lets start of with the idea that calculating metrics over UML is a good thing. We want to argue whether doing this should be done or not. So basically I want to give you an overview of why it could or should be good to do it. 

In a model driven architecture software cycle the model is the most important part of the development cycle, everything happends around the model. This means that if your model is correct your code should be to.

If we look at the SIG maintainability model they specify that a the code of a software system is maintainable if it matches their criteria. Low volume, low Cyclometic Complexity and more. If we extend this idea to model driven architecture where the model is the, and I can't stress this enough, the most important part, they idea of keeping the architecture maintainable does not sound strange.

They idea of the SIG model is that the code is maintainable because it has a good score at certain metrics. Some of these metrics can also be calculated over software architectures, in our case we think of UML, because it's widely used.

So why would you want to calculate these metrics anyways? First of all if you determin metrics you are able to say something about how good it is. You can do analysis on it. But most of all extending an equivalent method as the SIG model to architecture would help you determin the quality of your architecture, how maintainable is it. The better your maintainability is the easier it is for future developers to extend your application in a proper consistent way, keeping the quality of your software system up to the wanted level.

The better your maintainability is, the better further development on the software system will be. Keeping your quality up to standards will help you keep you costs low and your income up.